home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / HeaderParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  2.0 KB  |  133 lines

  1. package javax.swing;
  2.  
  3. class HeaderParser {
  4.    String raw;
  5.    String[][] tab;
  6.  
  7.    public HeaderParser(String var1) {
  8.       this.raw = var1;
  9.       this.tab = new String[10][2];
  10.       this.parse();
  11.    }
  12.  
  13.    public int findInt(String var1, int var2) {
  14.       try {
  15.          return Integer.parseInt(this.findValue(var1, String.valueOf(var2)));
  16.       } catch (Throwable var3) {
  17.          return var2;
  18.       }
  19.    }
  20.  
  21.    public String findKey(int var1) {
  22.       return var1 >= 0 && var1 <= 10 ? this.tab[var1][0] : null;
  23.    }
  24.  
  25.    public String findValue(int var1) {
  26.       return var1 >= 0 && var1 <= 10 ? this.tab[var1][1] : null;
  27.    }
  28.  
  29.    public String findValue(String var1) {
  30.       return this.findValue(var1, (String)null);
  31.    }
  32.  
  33.    public String findValue(String var1, String var2) {
  34.       if (var1 == null) {
  35.          return var2;
  36.       } else {
  37.          var1.toLowerCase();
  38.  
  39.          for(int var3 = 0; var3 < 10; ++var3) {
  40.             if (this.tab[var3][0] == null) {
  41.                return var2;
  42.             }
  43.  
  44.             if (var1.equals(this.tab[var3][0])) {
  45.                return this.tab[var3][1];
  46.             }
  47.          }
  48.  
  49.          return var2;
  50.       }
  51.    }
  52.  
  53.    private void parse() {
  54.       if (this.raw != null) {
  55.          this.raw = this.raw.trim();
  56.          char[] var1 = this.raw.toCharArray();
  57.          int var2 = 0;
  58.          int var3 = 0;
  59.          int var4 = 0;
  60.          boolean var5 = true;
  61.          boolean var6 = false;
  62.          int var7 = var1.length;
  63.  
  64.          while(var3 < var7) {
  65.             char var8 = var1[var3];
  66.             if (var8 == '=') {
  67.                this.tab[var4][0] = (new String(var1, var2, var3 - var2)).toLowerCase();
  68.                var5 = false;
  69.                ++var3;
  70.                var2 = var3;
  71.             } else if (var8 == '"') {
  72.                if (!var6) {
  73.                   var6 = true;
  74.                   ++var3;
  75.                   var2 = var3;
  76.                } else {
  77.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  78.                   var6 = false;
  79.  
  80.                   do {
  81.                      ++var3;
  82.                   } while(var3 < var7 && (var1[var3] == ' ' || var1[var3] == ','));
  83.  
  84.                   var5 = true;
  85.                   var2 = var3;
  86.                }
  87.             } else if (var8 != ' ' && var8 != ',') {
  88.                ++var3;
  89.             } else if (var6) {
  90.                ++var3;
  91.             } else {
  92.                if (var5) {
  93.                   this.tab[var4++][0] = (new String(var1, var2, var3 - var2)).toLowerCase();
  94.                } else {
  95.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  96.                }
  97.  
  98.                while(var3 < var7 && (var1[var3] == ' ' || var1[var3] == ',')) {
  99.                   ++var3;
  100.                }
  101.  
  102.                var5 = true;
  103.                var2 = var3;
  104.             }
  105.          }
  106.  
  107.          --var3;
  108.          if (var3 > var2) {
  109.             if (!var5) {
  110.                if (var1[var3] == '"') {
  111.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  112.                } else {
  113.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2 + 1);
  114.                }
  115.             } else {
  116.                this.tab[var4][0] = (new String(var1, var2, var3 - var2 + 1)).toLowerCase();
  117.             }
  118.          } else if (var3 == var2) {
  119.             if (!var5) {
  120.                if (var1[var3] == '"') {
  121.                   this.tab[var4++][1] = String.valueOf(var1[var3 - 1]);
  122.                } else {
  123.                   this.tab[var4++][1] = String.valueOf(var1[var3]);
  124.                }
  125.             } else {
  126.                this.tab[var4][0] = String.valueOf(var1[var3]).toLowerCase();
  127.             }
  128.          }
  129.       }
  130.  
  131.    }
  132. }
  133.